An Adaptive Compilation Framework for Generic Data-Parallel Array Programming

نویسندگان

  • Clemens Grelck
  • Tim van Deurzen
  • Stephan Herhut
  • Sven-Bodo Scholz
چکیده

Generic array programming abstracts from structural properties of arrays, such as rank (number of axes/dimensions) and shape (number of element along each axis/dimension). This allows for abstract program specifications and, as such, is desirable from a software engineering perspective. However, generic programming in this sense does have an adverse effect on runtime performance when executed naively. Static compiler analyses and transformations aim at reconciling software engineering desires for generic code with runtime performance requirements. However, they are bound to fail whenever the required information is not available until runtime. We propose a compilation framework that overcomes the inherent limitations of static analysis by incrementally adapting a running program to the structural properties of the arrays it operates on. This is achieved by partial recompilation of code at runtime, when all structural properties of arrays are known, and dynamic relinking of the running program with dynamically generated code. We sketch out the general compilation framework architecture and discuss implementation aspects.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Advances in Dynamic Compilation for Functional Data Parallel Array Processing

Data-parallel processing of multi-dimensional arrays is characterized by a fundamental trade-off between software engineering principles on the one hand and runtime performance concerns on the other hand. Whereas the former demand code to be written in a generic style abstracting from structural properties of arrays as much as possible, the latter require an optimizing compiler to have as much ...

متن کامل

Asynchronous adaptive optimisation for generic data-parallel array programming

Programming productivity very much depends on the availability of basic building blocks that can be reused for a wide range of application scenarios and the ability to define rich abstraction hierarchies. Driven by the aim for increased re-use, such basic building blocks tend to become more and more generic in their specification: structural as well as behavioural properties are turned into par...

متن کامل

Adaptive structured parallelism for distributed heterogeneous architectures: a methodological approach with pipelines and farms

Algorithmic skeletons abstract commonly used patterns of parallel computation, communication, and interaction. Based on the algorithmic skeleton concept, structured parallelism provides a high-level parallel programming technique that allows the conceptual description of parallel programs while fostering platform independence and algorithm abstraction. This work presents a methodology to improv...

متن کامل

Sac - From High-Level Programming with Arrays to Efficient Parallel Execution

SaC is a purely functional array processing language designed with numerical applications in mind. It supports generic, high-level program specifications in the style of Apl. However, rather than providing a fixed set of built-in array operations, SaC provides means to specify such operations in the language itself in a way that still allows their application to arrays of any rank and size. Thi...

متن کامل

On A Generic Parallel Collection Framework

As the number of cores increases in modern multiprocessors, it is becoming increasingly di cult to write general purpose applications that e ciently utilize this computing power. This remains an open research problem. Most applications manipulate structured data. Modern languages and platforms provide collection frameworks with basic data structures like lists, hashtables and trees. These data ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010